<?php 

class ComposicionBN{

	public function crearComposicion(Composicion $oComposicion){
		
		$oComposicion->save();
	
	}
	
	public function actualizarComposicion(Composicion $oComposicion){
	  
				
		$criteria = new Criteria(ComposicionPeer::DATABASE_NAME);
		$criteria->add(ComposicionPeer::CODUE, $oComposicion->getCodue());
		$criteria->add(ComposicionPeer::TIPO_COMPOSICION, $oComposicion->getTipoComposicion());
		$criteria->add(ComposicionPeer::COD_COMPONENTE, $oComposicion->getCodComponente());
				
		$aObj = ComposicionPeer::doSelect($criteria);
				
		foreach ($aObj as $obj){
			$obj->delete();
		}
				
		$oComposicion->save();
		
	}
	
	public function obtenerComposicion($codUe, $tipoComposicion) {
		
		$criteria = new Criteria(ComposicionPeer::DATABASE_NAME);
		$criteria->add(ComposicionPeer::CODUE, $codUe);
		$criteria->add(ComposicionPeer::TIPO_COMPOSICION, $tipoComposicion);
		
		$aObj = ComposicionPeer::doSelect($criteria);
		
		$composicion = array();
		
		foreach($aObj as $obj) {
			// $composicion[$obj->getCodComponente()] = $obj;	MODIFICADO REVISAR
			$composicion[] = $obj;
		}
		
		return $composicion;
	}
	
	public function obtenerComposicionPorClave($codUe, $tipoComposicion) {
	
		$criteria = new Criteria(ComposicionPeer::DATABASE_NAME);
		$criteria->add(ComposicionPeer::CODUE, $codUe);
		$criteria->add(ComposicionPeer::TIPO_COMPOSICION, $tipoComposicion);
	
		$aObj = ComposicionPeer::doSelect($criteria);
	
		$composicion = array();
	
		foreach($aObj as $obj) {
			$composicion[$obj->getCodComponente()] = $obj;	
		}
	
		return $composicion;
	}
	
	public function eliminarComposicion($codUe, $tipoComposicion = "") {
		
		$criteria = new Criteria(ComposicionPeer::DATABASE_NAME);
		$criteria->add(ComposicionPeer::CODUE, $codUe);
		
		if(!empty($tipoComposicion))
			$criteria->add(ComposicionPeer::TIPO_COMPOSICION, $tipoComposicion);
		
		$aObj = ComposicionPeer::doSelect($criteria);
		
		foreach ($aObj as $obj){
			$obj->delete();
		}
	} 
	
	
}

?>